package com.zbkj.common.enums;

/**
 * @Auther:
 * @Date: 2024/7/6 14:51
 * @Description: 客户上传项目资料类型
 */

import lombok.Getter;

import java.util.Objects;

public enum InformationTypEnum {

    /**
     * 客服端项目资料文件类型  1、项目文件
     * 服务端估算资料文件类型：41、ai估算结果文件，42、编辑后功能点明细文件， 43、报告文件
     */
    TYPE1(1),
    //TYPE2(2),


    TYPE39(39),
    TYPE40(40),
    TYPE41(41),
    TYPE42(42),
    TYPE43(43),
    ;

    @Getter
    private int type;
    InformationTypEnum(int type) {
        this.type = type;
    }

    /**
     * 客户端上传资料类型检查
     * @param type
     * @return
     */
    public static boolean clientTypeCheck(Integer type) {
        return Objects.nonNull(type) && (TYPE1.type == type);
    }

    /**
     * 服务端上传文件类型检查
     * @param type
     * @return
     */
    public static boolean adminTypeCheck(Integer type) {
        return Objects.nonNull(type) && (TYPE41.type == type
                        || TYPE42.type == type
                        || TYPE43.type == type);
    }

    /**
     * 客户端下载文件类型检查
     * @param type
     * @return
     */
    public static boolean clientDownloadTypeCheck(Integer type) {
        return Objects.nonNull(type) && (TYPE43.type == type);
    }

    public static boolean typeCheck(Integer type, int enumTypeVal) {
        return Objects.nonNull(type) && (enumTypeVal == type);
    }


}
